package com.liqing.movecomment.service;

import com.github.pagehelper.PageInfo;
import com.liqing.movecomment.entity.User;
import com.liqing.movecomment.entity.UserChangeDto;
import com.liqing.movecomment.entity.UserDTO;
import com.liqing.movecomment.exception.CustomException;
import com.liqing.movecomment.vo.UserRegisterVo;

public interface UserService {



    User login(UserDTO userDTO) throws CustomException;

    PageInfo<User> queryAll(Integer page, Integer size, Integer level);





    /**
     * 通过ID查询单条数据
     *
     * @param id 主键
     * @return 实例对象
     */
    User queryById(Integer id);

    /**
     * 分页查询
     *
     * @return 查询结果
     */
    PageInfo<User> queryAll(Integer page, Integer size);

    /**
     * 新增数据
     *
     * @param user 实例对象
     * @return 实例对象
     */
    /**
     * 新增数据
     *
     * @param userRegisterVo 实例对象
     * @return 实例对象
     */
    User insert(UserRegisterVo userRegisterVo);

    /**
     * 修改数据
     *
     * @param user 实例对象
     * @return 实例对象
     */
    User update(User user);

    /**
     * 通过主键删除数据
     *
     * @param id 主键
     * @return 是否成功
     */
    boolean deleteById(Integer id);

    User updatePassword(UserChangeDto userChangeDto);
}
